package oa.annotation;

import java.lang.reflect.Method;

import org.junit.Test;

/**
 * 注解解析器
 *    1、如果要获取类上的注解，那么首先必须获取Class
 *    2、如果要获取方法上的注解，首先必须获取Method
 * @author zd
 *
 */
public class AnnotationParse {

	@Test
	public void parse(){
		Class classt = MineJava.class;
		/**
		 * 该类是否有注解
		 */
		if(classt.isAnnotationPresent(ClassAnnotation.class)){
			ClassAnnotation classAnnotation = (ClassAnnotation) classt.getAnnotation(ClassAnnotation.class);
			System.out.println(classAnnotation.name());
		}
		
		Method[] methods = classt.getMethods();
		for(Method method : methods){
			if(method.isAnnotationPresent(MethodAnnotation.class)){
				MethodAnnotation methodAnnotation  = method.getAnnotation(MethodAnnotation.class);
			    System.out.println(methodAnnotation.name()); 
			}
		}
	}
}
